package com.bt.lms.ui.page.sys.role.action;

import com.bt.lms.ui.page.sys.role.PageCompile;
import com.bt.lms.ui.page.sys.vo.RoleTableViewVo;
import com.bt.lms.ui.vo.PageSkipInfo;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Node;
import javafx.scene.layout.Pane;

/**
 * 编辑角色事件
 */
public class RLCompileRoleBtnAction implements EventHandler<ActionEvent> {

    /**
     * 界面跳转数据
     */
    private final PageSkipInfo pageSkipInfo;

    /**
     * 要编辑的角色
     */
    private final RoleTableViewVo roleTableViewVo;

    /**
     * 构建事件
     * @param roleTableViewVo 要编辑的角色
     * @param pageSkipInfo 界面跳转信息
     */
    public RLCompileRoleBtnAction(RoleTableViewVo roleTableViewVo, PageSkipInfo pageSkipInfo) {
        this.roleTableViewVo = roleTableViewVo;
        this.pageSkipInfo = pageSkipInfo;
    }

    /**
     * 事件实现
     * 1.跳转界面（个人部分跳转 + 位置变化）
     * @param event the event which occurred
     */
    @Override
    public void handle(ActionEvent event) {

        Pane pane = pageSkipInfo.getPane();
        Integer index = pageSkipInfo.getIndex();

        PageCompile pageCompile = new PageCompile(roleTableViewVo,pageSkipInfo);
        ObservableList<Node> children = pane.getChildren();
        children.set(index, pageCompile);

    }
}
